package com.xuecheng.api.media;

import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.qo.QueryMediaModel;
import com.xuecheng.api.media.model.vo.MediaVO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

/**
 * <p></p>
 *
 * @Description:
 */
@Api(value = "媒资管理", tags = "媒资管理API",description = "对媒资信息进行管理")
public interface MediaApi {

    @ApiOperation("保存媒资信息")
    @ApiImplicitParam(name = "vo", value = "媒资保存信息", required = true, dataType = "MediaVO", paramType = "body")
    MediaDTO createMedia(MediaVO vo);

    @ApiOperation("分页条件查询媒资信息")
    PageVO<MediaDTO> queryMediaList(PageRequestParams params, QueryMediaModel model);

    @ApiOperation("获得媒资信息预览资源地址")
    @ApiImplicitParam(name="mediaId",value = "媒资id值",required = true,dataType = "Long",paramType = "path")
    String previewMedia(Long mediaId);

    @ApiOperation("根据Id删除媒资信息")
    @ApiImplicitParam(name = "mediaId", value = "媒资id值", required = true, paramType = "path")
    void removeMedia(Long mediaId);
}
